﻿
Public Module _delegate
    Public Delegate Sub _do()
    Public Delegate Sub void()
    Public Delegate Sub _void()
    Public Delegate Sub void(Of T)(ByRef i As T)
    Public Delegate Sub _void(Of T)(ByRef i As T)

    Public Delegate Function _do(Of RT)() As RT
    Public Delegate Function _do(Of T, RT)(ByRef i As T) As RT
    Public Delegate Function _do(Of T, T2, RT)(ByRef i As T, ByRef i2 As T2) As RT
    Public Delegate Function _do(Of T, T2, T3, RT)(ByRef i As T, ByRef i2 As T2, ByRef i3 As T3) As RT
    Public Delegate Function _do(Of T, T2, T3, T4, RT)(ByRef i As T, ByRef i2 As T2, _
                                                       ByRef i3 As T3, ByRef i4 As T4) As RT
    Public Delegate Function _do(Of T, T2, T3, T4, T5, RT)(ByRef i As T, ByRef i2 As T2, _
                                                           ByRef i3 As T3, ByRef i4 As T4, _
                                                           ByRef i5 As T5) As RT

    Public Delegate Function stringcheck(ByVal s As String, ByVal index As Int64, ByRef inc As Int64) As Boolean
    Public Delegate Function charcheck(ByVal c As Char) As Boolean
End Module
